/**
 *
 */
package sh.t2.share.module.player.log;

import org.banish.sql.core.annotation.Column;
import org.banish.sql.core.annotation.Id;
import org.banish.sql.core.annotation.SplitTable;
import org.banish.sql.core.annotation.Id.Strategy;
import org.banish.sql.core.annotation.enuma.AsyncType;
import org.banish.sql.core.entity.AbstractEntity;
import org.gaming.service.repository.annotation.NoCache;
import org.springframework.stereotype.Repository;

/**
 * @author YY
 *
 */
@Repository
@NoCache
@SplitTable(comment = "玩家登录日志表", dbAlias = "log", asyncType = AsyncType.INSERT, byColumn = "login_time")
public class PlayerLoginLog extends AbstractEntity {
    @Id(strategy = Strategy.AUTO)
    @Column(comment = "日志ID")
    private long id;
    @Column(name = "channel_id", comment = "渠道ID")
    private long channelId;
    @Column(name = "player_id", comment = "玩家ID")
    private long playerId;
    @Column(name = "open_id", comment = "账户ID")
    private String openId;
    @Column(comment = "玩家名称")
    private String nick;
    @Column(name = "level", comment = "等级")
    private int level;
    @Column(name = "login_time", comment = "登录时间", extra = "time")
    private long loginTime;
    @Column(name = "born_time", comment = "创号时间", extra = "time")
    private long bornTime;
    @Column(comment = "登录IP")
    private String ip;
    @Column(name = "create_pay", comment = "是否创号当天有充值，1创号当天有充值")
    private int createPay;
    @Column(name = "born_date", comment = "创号日期，格式：yyyyMMdd")
    private int bornDate;
    @Column(name = "login_date", comment = "登录日期，格式：yyyyMMdd")
    private int loginDate;
    @Column(name = "first_pay_date", comment = "首次充值日期，格式：yyyyMMdd")
    private int firstPayDate;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public String getNick() {
        return nick;
    }

    public void setNick(String nick) {
        this.nick = nick;
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        this.level = level;
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

	public int getCreatePay() {
		return createPay;
	}

	public void setCreatePay(int createPay) {
		this.createPay = createPay;
	}

	public long getChannelId() {
		return channelId;
	}

	public void setChannelId(long channelId) {
		this.channelId = channelId;
	}

	public long getLoginTime() {
		return loginTime;
	}

	public void setLoginTime(long loginTime) {
		this.loginTime = loginTime;
	}

	public long getBornTime() {
		return bornTime;
	}

	public void setBornTime(long bornTime) {
		this.bornTime = bornTime;
	}

	public long getPlayerId() {
		return playerId;
	}

	public void setPlayerId(long playerId) {
		this.playerId = playerId;
	}

	public int getBornDate() {
		return bornDate;
	}

	public void setBornDate(int bornDate) {
		this.bornDate = bornDate;
	}

	public int getLoginDate() {
		return loginDate;
	}

	public void setLoginDate(int loginDate) {
		this.loginDate = loginDate;
	}

	public int getFirstPayDate() {
		return firstPayDate;
	}

	public void setFirstPayDate(int firstPayDate) {
		this.firstPayDate = firstPayDate;
	}
}
